{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Tuning a Decision Tree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "\n",
    "iris = load_iris()\n",
    "X = iris.data[:,:2]\n",
    "y = iris.target\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, stratify=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.59999999999999998"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "pd.DataFrame(X,columns=iris.feature_names[:2])\n",
    "\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "dtc = DecisionTreeClassifier()     #Instantiate tree with default parameters\n",
    "dtc.fit(X_train, y_train)\n",
    "\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "y_pred = dtc.predict(X_test)\n",
    "accuracy_score(y_test, y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0xc9ad1d0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAAF/CAYAAACCKeVDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4lFX6xvHvSZlkJg1CQiihht5bACkSQVHBVVABxYLy\n07WXdS1rWcvuqrvquq69YnctiKggUkWqKCAdASmhEwIxASZ9zu+PBEQEMoS8M0m4P9c115V3Ms+c\newaSPHlz3nOMtRYRERERETl5IcEOICIiIiJSXai5FhERERGpIGquRUREREQqiJprEREREZEKouZa\nRERERKSCqLkWEREREakgAWmujTEhxpjFxpgvjvK5fsaYX0o/v9gY80AgMomIiIiIVLSwAI1zG7AK\niD3G52dZa88PUBYREREREUc4fubaGJMMDAJeP97DnM4hIiIiIuK0QEwL+Q9wF3C8rSBPM8YsMcZM\nNMa0CUAmEREREZEK52hzbYwZDOyy1i6h5Oz00c5QLwIaWms7Ac8D453MJCIiIiLiFGPt8U4on+ST\nG/MYcDlQBLiBGGCctfbK49RsBLpaa/cecb9zQUVEREREDmOtLde0ZUfPXFtr77PWNrTWNgUuAWYc\n2VgbY5IO+7g7JQ3/Xo7CWqubH7eHHnoo6Bmqwk3vk94nvVd6nyr7Te+V3ie9T8G5nYxArRbyG8aY\n6wBrrX0VuNgYcwNQCOQCI4KRSURERETkZAWsubbWfgt8W/rxK4fd/wLwQqByiIiIiIg4RTs0VkNp\naWnBjlAl6H3yj94n/+m98o/eJ//pvfKP3if/6H0KDEcvaKxIxhhbVbKKiIiISNVljMFWxgsaRURE\nREROJWquRUREREQqiJprEREREZEKouZaRERERKSCqLkWEREREakgaq5FRERERCqImmsRERERkQqi\n5lpEREREpIKouRYRERERqSBqrkVEREREKoiaaxERERGRCqLmWkRERESkgqi5FhERERGpIGquRURE\nREQqiJprEREREZEKouZaRERERKSCqLkWEREREakgaq5FRERERCqImmsRERERkQqi5lpEREREpIKo\nuRYRERERqSBqrkVEREREKoiaaxERERGRCqLmWkRERESkgqi5FpFj2rJlC/PmzSMzMzPYUURERKoE\nNdciclRPPPEULVq0Y9CgK2jcuDlff/11sCOJiIhUesZaG+wMfjHG2KqSVaSqW7VqFampffB6rwLi\n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\no1x11VU88sgjzJ49m5122qnfJUmSJHm2EG1+li9fzkEvO5CHJy5j2ydty9IbH2D+1f/DzJkz+12a\nJPZlskkAAA7ZSURBVEnaAngqPo0rZ3z8DL5yyyUc8aVXkYQbP3MTf7riz1xz5TX9Lk2SJG0BPBWf\nxpV7l9zLk/fb5fErBe66/64sWbKkz1VJkiQZrrUZOnDfA/n5+bez4qEVrHpsFTd9agH7zdqv32VJ\nkiT5gUZtfo479jh+cutPOGf6HCZMmMCBBx/IORed0++yJEmSXHOtzdejjz7KypUrmTJlSr9LkSRJ\nWxA/0ChJkiS1xA80SpIkSQPAcC1JkiS1xHAtSZIktcRwLWlUDz74IAsXLmTZsmX9LkWSpM2C4VrS\niM797LnsMWMPjjzuCJ7xrGcwf/78fpckSdLA82whktayaNEiZh00i2N/+EZ23GNH7v7u3XzrTfN4\nYMkDTJ48ud/lSZLUU54tRFKrbr/9dnZ90XR23GNHAHZ/2e6syiqWLl3a58okSRpshmtJa9lzzz1Z\ncuN9LFvSWWv9q+sWU48VO++8c58rkyRpsHn5c0lrmTlzJqd88BQ+utdHmbbHNH539++4+L8vZqut\ntup3aZIkDTTXXEsa1eLFi1myZAkzZsxg2rRp/S5HkqRNwsufS5IkSS3xA42SJEnSADBcS5IkSS0x\nXEuSJEktMVxLUguWL1/OY4891u8yJEl9ZriWpI1w5513svOOOzD1CU/gbyZP5jWveXW/S5Ik9ZHh\nWpI2wuwD9uNpy5ZxCvAu4Dtf/wZnnXVWv8uSJPWJ4VqSNsKvlz7IS1YVE4EnAnsXXHHFFf0uS5LU\nJ4ZrSdoIW02exP3N7VXAkglh+vTp/SxJktRHXkRGkjbCnDlzeN+JJ/KsSRP4/apixTbbcM+S+9hh\nhx36XZokaQN5hUZJ6qNrr72WCy+8kGnTpnHqqacyZcqUfpckSdoIhmtJkiSpJV7+XJIkSRoAhmtJ\nkiSpJYZrSZIkqSWGa0mSJKklhmtJkiSpJYZrSZIkqSWGa0mSJKklhmtJkiSpJYZrSZIkqSWGa0mS\nJKklhmtJkiSpJYZrSZIkqSWGa0mSJKklPQ3XSXZNck2SnyW5JcmJo4w7J8kdSRYm2auXNUmSJEm9\nMqnH+38MOKmqFiaZAtyU5DtVdfvqAUkOBZ5ZVXsm2Qc4D5jV47okSZKk1vX0yHVVPVBVC5vby4Hb\ngOnDhh0FXNiMuR7YPskuvaxL49u8efM4/OjDOfzow5k3b16/y5EkSVuQTbbmOskzgL2A64c9NB1Y\nPOT+fawdwKVWzJs3j2PecgwTjwwTjwzHvOUYA7YkSWpNr5eFANAsCfkK8J7mCLbUF3PmzuGgMw/g\n+W953hrbDjnkkD5WJUmSthQ9D9dJJtEJ1v9VVd8YYch9wNOG3N+12baW008//fHbs2fPZvbs2a3V\nKUmSpPFp/vz5zJ8/v5V9papa2dGoL5BcCPymqk4a5fHDgHdW1auSzAI+VVVrfaAxSfW6Vm35Vi8L\nOejMAwC49p+u4+ILLvbItSRJelwSqiob9NxeBtYk+wPXArcA1Xx9GNgNqKqa24z7NPBK4I/A8VW1\nYIR9Ga7Vinnz5jFn7hwA3v22dxusJUnSGgY2XLfJcC1JkqRNYWPCtVdolCRJklpiuJYkSZJaYriW\nJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYk\nSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJ\nklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmS\nWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJa\nYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJaYriWJEmSWmK4liRJklpi\nuJYkSZJaYriWJEmSWmK4liRJklpiuJYkSZJa0tNwneQLSZYm+ekoj78kye+TLGi+TullPZIkSVIv\n9frI9fnAIWOMubaq9m6+zuhxPePC/Pnz+13CZsF56o7z1D3nqjvOU/ecq+44T91xnjaNnobrqroO\n+N0Yw9LLGsYjv3m64zx1x3nqnnPVHeepe85Vd5yn7jhPm8YgrLneN8nCJN9MMrPfxUiSJEkbalKf\nX/8m4OlVtSLJocDXgRl9rkmSJEnaIKmq3r5AshtweVU9r4uxdwMvrKrfjvBYbwuVJEmSGlW1QUuX\nN8WR6zDKuuoku1TV0ub2i+mE/bWCNWz4G5QkSZI2lZ6G6yRfAmYD05L8CvgIsBVQVTUXeG2SdwAr\n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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc0d9f98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "plt.figure(figsize=((12,6)))\n",
    "plt.xlabel(iris.feature_names[0])\n",
    "plt.ylabel(iris.feature_names[1])\n",
    "\n",
    "plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise',\n",
       "       estimator=DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,\n",
       "            max_features=None, max_leaf_nodes=None,\n",
       "            min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "            min_samples_leaf=1, min_samples_split=2,\n",
       "            min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n",
       "            splitter='best'),\n",
       "       fit_params=None, iid=True, n_jobs=1,\n",
       "       param_grid={'criterion': ['gini', 'entropy'], 'max_depth': [3, 5, 7, 20]},\n",
       "       pre_dispatch='2*n_jobs', refit=True, return_train_score=True,\n",
       "       scoring=None, verbose=0)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "dtc = DecisionTreeClassifier()\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV, cross_val_score\n",
    "\n",
    "param_grid = {'criterion':['gini','entropy'], 'max_depth' : [3,5,7,20]}\n",
    "\n",
    "gs_inst = GridSearchCV(dtc,param_grid=param_grid,cv=5)\n",
    "gs_inst.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.77777777777777779"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "y_pred_gs = gs_inst.predict(X_test)\n",
    "accuracy_score(y_test, y_pred_gs)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
